package com.rxh.pojo.core;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class CoreOrderChange implements Serializable {
    // 未审核
    public final static short STATUS_UNAUDITED = 0;
    // 成功
    public final static short STATUS_SUCCESS = 1;
    // 失败
    public final static short STATUS_FAIL = 2;
    // 处理中
    public final static short STATUS_PROCESSING = 3;
    // 正常
    public final static short TYPE_NORMAL = 0;
    // 冻结
    public final static short TYPE_FREEZE = 1;
    // 全额退款
    public final static short TYPE_FULL_REFUND = 2;
    // 部分退款
    public final static short TYPE_PARTIAL_REFUND = 3;
    // 全额拒付
    public final static short TYPE_FULL_REFUSED = 4;
    // 部分拒付
    public final static short TYPE_PARTIAL_REFUSED = 5;
    // 代理拒付
    public final static short TYPE_PROXY_REFUSED = 6;
    // 银行退款处理中
    public final static short TYPE_BANK_PROCESSING_REFUND = 7;
    // 冻结
    public final static short FREEZE = 1;
    // 退款
    public final static short REFUND = 2;
    // 拒付
    public final static short REFUSED = 3;
    //
    private Long id;

    // 平台订单表主键
    private Long orderId;

    // 银行退款流水号
    private String exceptionBankId;

    // 常量组ExceptionStatus提供
    private Short type;

    // 异常金额
    private BigDecimal amount;

    // 异常币种
    private String currency;

    // 处理费
    private BigDecimal fee;

    // 处理费人民币
    private BigDecimal rmbFee;

    // 异常人名币金额
    private BigDecimal rmbAmount;

    // 申请人
    private String applicant;

    // 申请时间
    private Date applicationTime;

    // 申请理由
    private String reasons;

    // 审核人
    private String auditor;

    // 审核时间
    private Date auditTime;

    // 审核结果（0：未审核，1：成功，2：失败，3：银行处理中）
    private Short status;

    // 审核描述
    private String remark;

    // 订单变更申请时交易汇率
    private BigDecimal changeRate;

    //归还手续费
    private BigDecimal returnFee;


    /**
     * @return id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 平台订单表主键
     *
     * @return order_id 平台订单表主键
     */
    public Long getOrderId() {
        return orderId;
    }

    /**
     * 平台订单表主键
     *
     * @param orderId 平台订单表主键
     */
    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getExceptionBankId() {
        return exceptionBankId;
    }

    public void setExceptionBankId(String exceptionBankId) {
        this.exceptionBankId = exceptionBankId;
    }

    /**
     * 常量组ExceptionStatus提供
     *
     * @return type 常量组ExceptionStatus提供
     */
    public Short getType() {
        return type;
    }

    /**
     * 常量组ExceptionStatus提供
     *
     * @param type 常量组ExceptionStatus提供
     */
    public void setType(Short type) {
        this.type = type;
    }

    /**
     * 异常金额
     *
     * @return amount 异常金额
     */
    public BigDecimal getAmount() {
        return amount;
    }

    /**
     * 异常金额
     *
     * @param amount 异常金额
     */
    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    /**
     * 异常币种
     *
     * @return currency 异常币种
     */
    public String getCurrency() {
        return currency;
    }

    /**
     * 异常币种
     *
     * @param currency 异常币种
     */
    public void setCurrency(String currency) {
        this.currency = currency == null ? null : currency.trim();
    }

    /**
     * 处理费
     *
     * @return fee 处理费
     */
    public BigDecimal getFee() {
        return fee;
    }

    /**
     * 处理费
     *
     * @param fee 处理费
     */
    public void setFee(BigDecimal fee) {
        this.fee = fee;
    }

    /**
     * 处理费人民币
     *
     * @return rmb_fee 处理费人民币
     */
    public BigDecimal getRmbFee() {
        return rmbFee;
    }

    /**
     * 处理费人民币
     *
     * @param rmbFee 处理费人民币
     */
    public void setRmbFee(BigDecimal rmbFee) {
        this.rmbFee = rmbFee;
    }

    /**
     * 异常人名币金额
     *
     * @return rmb_amount 异常人名币金额
     */
    public BigDecimal getRmbAmount() {
        return rmbAmount;
    }

    /**
     * 异常人名币金额
     *
     * @param rmbAmount 异常人名币金额
     */
    public void setRmbAmount(BigDecimal rmbAmount) {
        this.rmbAmount = rmbAmount;
    }

    /**
     * 申请人
     *
     * @return applicant 申请人
     */
    public String getApplicant() {
        return applicant;
    }

    /**
     * 申请人
     *
     * @param applicant 申请人
     */
    public void setApplicant(String applicant) {
        this.applicant = applicant == null ? null : applicant.trim();
    }

    /**
     * 申请时间
     *
     * @return application_time 申请时间
     */
    public Date getApplicationTime() {
        return applicationTime;
    }

    /**
     * 申请时间
     *
     * @param applicationTime 申请时间
     */
    public void setApplicationTime(Date applicationTime) {
        this.applicationTime = applicationTime;
    }

    /**
     * 申请理由
     *
     * @return reasons 申请理由
     */
    public String getReasons() {
        return reasons;
    }

    /**
     * 申请理由
     *
     * @param reasons 申请理由
     */
    public void setReasons(String reasons) {
        this.reasons = reasons == null ? null : reasons.trim();
    }

    /**
     * 审核人
     *
     * @return auditor 审核人
     */
    public String getAuditor() {
        return auditor;
    }

    /**
     * 审核人
     *
     * @param auditor 审核人
     */
    public void setAuditor(String auditor) {
        this.auditor = auditor == null ? null : auditor.trim();
    }

    /**
     * 审核时间
     *
     * @return audit_time 审核时间
     */
    public Date getAuditTime() {
        return auditTime;
    }

    /**
     * 审核时间
     *
     * @param auditTime 审核时间
     */
    public void setAuditTime(Date auditTime) {
        this.auditTime = auditTime;
    }

    /**
     * 审核结果
     *
     * @return status 审核结果
     */
    public Short getStatus() {
        return status;
    }

    /**
     * 审核结果
     *
     * @param status 审核结果
     */
    public void setStatus(Short status) {
        this.status = status;
    }

    /**
     * 审核描述
     *
     * @return remark 审核描述
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 审核描述
     *
     * @param remark 审核描述
     */
    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    /**
     * 订单变更申请时交易汇率
     *
     * @return change_rate 订单变更申请时交易汇率
     */
    public BigDecimal getChangeRate() {
        return changeRate;
    }

    /**
     * 订单变更申请时交易汇率
     *
     * @param changeRate 订单变更申请时交易汇率
     */
    public void setChangeRate(BigDecimal changeRate) {
        this.changeRate = changeRate;
    }

    public BigDecimal getReturnFee() {
        return returnFee;
    }

    public void setReturnFee(BigDecimal returnFee) {
        this.returnFee = returnFee;
    }

}